[Automatic] Upstream release 3.4.1#31
Merged
Merged
Conversation
…en the user manually checks for updates in the Settings menu (dhis2#4927)
…s2#4923) Signed-off-by: Manu Muñoz <manu.munoz@dhis2.org>
…ctivity (dhis2#4917) * fix: [ANDROAPP-7658] Do not display sync infobar if teiDashboard is displayed from the event capture activity * fix: [ANDROAPP-7658] fix unit tests * fix: [ANDROAPP-7658] hide sync button in landscape when creating new events
…tadata sync (dhis2#4933) * Rechecks navigational bar server config after metadata sync * Fix integration tests of MainViewModel
dhis2#4919) * fix: [ANDROAPP-7664] Improve load time of dashboard screen * Remove default analytics related tests * set runTest in dashboardViewModelTest * fix dashboard android tests * revert changes to AndroidIdlingResource.kt * chained events calling increment * remove unnecessary ui thread call * use unconditional coroutine tracker methods * use unconditional coroutine tracker methods * fix infinite collection in CredentialsViewModel.kt * add decrement to error flow * test: [ANDROAPP-7664] decrement idling resource on error in note detail presenter * force decrement to idle * fix sonarcloud comments * do not retry on timeout * Root cause — DashboardViewModel.navigationBarUIState used NavigationBarUIState(items=emptyList(), TEIDashboardItems.DETAILS) as the stateIn initial value. This caused the LaunchedEffect in TeiDashboardMobileActivity to immediately navigate to TEIDataFragment (the DETAILS tab) on first composition, even in landscape mode where the DETAILS tab isn't displayed. loadNavigationBarItems() would then quickly determine DETAILS shouldn't be shown in landscape and switch the selected item to the first real tab (ANALYTICS, NOTES, etc.), causing TEIDataFragment to be immediately paused. onPause() calls presenter.onDettach() → compositeDisposable.clear(), but because the outer switchMap subscription uses subscribeOn(io), the increment() inside the switchMap body can run asynchronously on the IO thread after the clear. This left TeiDataIdlingResourceSingleton's counter stuck at 1 — TEI_DATA never became idle — and Espresso timed out. Fix (DashboardViewModel.kt) — Changed the stateIn initial value from NavigationBarUIState(items=emptyList(), TEIDashboardItems.DETAILS) to NavigationBarUIState() (null selectedItem). This means: - No fragment navigation happens until loadNavigationBarItems() completes with the actual items - In landscape, TEIDataFragment is never created and TEI_DATA stays idle - In portrait, navigation to DETAILS happens once (after nav items load), exactly the same net result as before --------- Co-authored-by: Xavier Molloy <xavi@dhis2.org>
* build: Release 3.4.1 * update release notes Signed-off-by: Manu Muñoz <manu.munoz@dhis2.org> * chore: update dependency verification metadata --------- Signed-off-by: Manu Muñoz <manu.munoz@dhis2.org> Co-authored-by: Manu Muñoz <manu.munoz@dhis2.org> Co-authored-by: @dhis2-bot <apps@dhis2.org>
build: Release 3.4.1 [skip size]
alex-vt
commented
Jul 7, 2026
Collaborator
Author
There was a problem hiding this comment.
These few changes don't appear to interfere with biometric features - also confirmed in testing. Also, the upstream release APK is now built at github.com/dhis2/dhis2-android-capture-app/releases/tag/3.4.1. Good to go.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR brings upstream-tracking
release/3.4.1branch to be merged intomain.Release merge commit in the upstream-tracking
upstream-mainbranch of this (fork) repo: 14089cffdff335f7181f2c39dea1a6c89ae6a581.Release merge commit in the
mainbranch of the dhis2/dhis2-android-capture-app upstream repo: 14089cffdff335f7181f2c39dea1a6c89ae6a581.For your reference, this Action's config can be viewed here, and the run logs here.